Skip to content

feat(catalogschema): add shared SQL Server catalog/schema helpers#646

Open
actiontech-bot wants to merge 1 commit into
mainfrom
dms/feat-sqlserver-catalog-schema-918
Open

feat(catalogschema): add shared SQL Server catalog/schema helpers#646
actiontech-bot wants to merge 1 commit into
mainfrom
dms/feat-sqlserver-catalog-schema-918

Conversation

@actiontech-bot

@actiontech-bot actiontech-bot commented Jul 7, 2026

Copy link
Copy Markdown
Member

背景

SQL Server 采用 database.schema 两级结构,DMS 在选库入口将其合并为单层名称(整库 dbdb.schema)呈现。该「合并层」名称的解析/拼接/过滤逻辑此前在 dms-ee(结构采集、脱敏)与 provision(建账户授权)两个独立 Go module 中各自维护一份,存在行为漂移风险。

变更

新增公共包 pkg/dms-common/pkg/catalogschema,统一维护合并层 catalog/schema 名称语义:

  • IsSchemaLevelDBType / BuildFullCatalogSchemaName / SplitCatalogSchema / SchemaNameMatchesFilter / ConnectionCatalogForMergedName
  • SplitCatalogSchemaLastIndex 拆分,兼容数据库名本身含 . 的情形(假定 schema 段不含 .
  • 不依赖任何 internal 常量,DBType 以字符串入参,供跨 module 复用
  • 附完整单测

后续 dms-ee 与 provision 将改用本公共包替换各自副本。

关联 actiontech/dms-ee#918

Extract SQL Server merged-layer catalog/schema name helpers into a
shared package under pkg/dms-common so dms-ee structure/masking and
provision account provisioning reuse one implementation instead of
maintaining divergent copies across two Go modules.

Ref: actiontech/dms-ee#918
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants